home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 February / Gamestar_81_2006-02_dvd.iso / Red Shark / Common / GermanMobileFlak.script < prev    next >
Text File  |  2001-12-14  |  4KB  |  125 lines

  1. //-------------------------------------------------------------------
  2. //
  3. //  This code is copyright 2001 by G5 Software.
  4. //  Any unauthorized usage, either in part or in whole of this code
  5. //  is strictly prohibited. Violators WILL be prosecuted to the
  6. //  maximum extent allowed by law.
  7. //
  8. //-------------------------------------------------------------------
  9.  
  10. class CGermanMobileFlakMesh
  11. {
  12.   string MeshFile = "Models/G_Mobile_Flak.mesh";
  13.   string SkinFile = "Models/G_Mobile_Flak.skin";
  14.   string AnimFile = "Models/G_Mobile_Flak.anim";
  15. }
  16.  
  17. class CGermanMobileFlakStateControl extends CMobileGroundUnitStateControl
  18. {
  19.   void CGermanMobileFlakStateControl()
  20.   {
  21.     CMobileGroundUnitStateControl(1000.0);
  22.     m_DestroyPause = 7.5;
  23.     m_ExplosionId  = "EXPLID_GermanMobileFlakExplosion";
  24.   }
  25. }
  26.  
  27. class CGermanMobileFlakTargetingAnimator
  28. {
  29.   string HorAnimName    = "tower";
  30.   string VerAnimName    = "gun";
  31.  
  32.   float  LeftEndAngle   = -180.0;
  33.   float  RightEndAngle  =  180.0;
  34.   float  TopEndAngle    =  0.0;
  35.   float  BottomEndAngle =  60.0;
  36.  
  37.   float  MaxAngleSpeed  = 180.0;
  38. }
  39.  
  40. class CGermanMobileFlakGun extends CBaseWeaponDescriptor
  41. {
  42.   int    AmmoQuantity      = -1;
  43.   float  BulletSpeed       = 500.0;
  44.   float  FireDeviation     = 0.015;
  45.   string BulletPatternId   = "BULLETID_GermanMobileFlakGunBullet";
  46.   string LinkJointName     = "_Gun_Fire_01";
  47.   string EffectOnFire      = "EFFECTID_MobileFlakGunFireEffect";
  48.   string FireCloudEffect   = "EFFECTID_MobileFlakGunFireCloudEffect";
  49.   string SoundOnFire       = "SOUNDID_MobileFlakGunFireSound";
  50.  
  51.   string WeaponName        = "Gun";
  52.   float  FireWeaponDelay   = 0.8;
  53.   bool   IsAutotargeting   = false;
  54.   int    AttachSlotNumber  = 1;
  55. }
  56.  
  57. class CGermanMobileFlakBehavior extends
  58.     CBaseBehavior, CGermanMobileFlakMoveParameters, CGermanMobileFlakFireParameters
  59. {
  60.   void CGermanMobileFlakBehavior()
  61.   {
  62.     CBaseBehavior();
  63.   }
  64. }
  65.  
  66. class CGermanMobileFlakMoveParameters
  67. {
  68.   bool  CanMove = true;
  69.  
  70.   float MaxSpeed              = 25;   // m/s
  71.   float MaxAngleSpeed         = 8;    // rad/s
  72.   float MaxAccelleration      = 25;   // m/(s*s)
  73.   float MaxAngleAccelleration = 25;   // rad/(s*s)
  74.  
  75.   float  MoveBank     = -.03; //#TMP:
  76.   float  RotationBank = .006;   //#TMP:
  77. }
  78.  
  79. class CGermanMobileFlakFireParameters
  80. {
  81.   bool CanFire = true;
  82.  
  83.   int  FirePeriod        = 2000;//400; // ms
  84.   int  FirePeriodRandAdd = 1000;//0;  // ms
  85.   int  ShootGunNum = 1;
  86.  
  87.   bool BurstFire         = false;//true;
  88.   int  BurstTime         = 2000; // ms
  89.   int  BurstTimeRandAdd  = 0; // ms
  90.  
  91.   int  BurstDelay        = 3000; // ms
  92.   int  BurstDelayRandAdd = 2000; // ms
  93.  
  94. // radar
  95.  
  96.   bool  HasRadar = true;
  97.  
  98.   float MaxRadarDistance = 1500; // m
  99.   float MinRadarDistance = 30;   // m
  100.  
  101.   int   UpdateRadarPeriod        = 3000; // ms
  102.   int   UpdateRadarPeriodRandAdd = 1000; // ms
  103.  
  104.   bool  FireFlying = true;
  105.   bool  FireGround = false;
  106. };
  107.  
  108. class CGermanMobileFlak extends
  109.   CGroundUnit, CUnitWithStateControl, CUnitWithBehavior, CUnitWithSound, CArmedUnit
  110. {
  111.   void CGermanMobileFlak()
  112.   {
  113.     InitializeModelAsAnimated("CGermanMobileFlakMesh");
  114.     CUnitWithStateControl("CGermanMobileFlakStateControl");
  115.     CreateAnimatedWeapon("Weapon", "CGermanMobileFlakGun", "CGermanMobileFlakTargetingAnimator");
  116.     InitializeVehicleBehavior("CGermanMobileFlakBehavior");
  117.     InitializeSound("CGermanMobileFlakEngineSound");
  118.  
  119.     Core_AddClassificator("German");
  120.     Core_AddClassificator("Flak");        // for cockpit identification
  121.     Core_AddClassificator("GroundUnit"); // for behavior fire logic
  122.   }
  123. }
  124.  
  125.